home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / language / forth_83.zoo / relocate.scr < prev    next >
Text File  |  1992-04-07  |  3KB  |  1 lines

  1. \\                                                     26oct86we                                                                Diese File enthält Worte, mit denen die Speicheraufteilung      des volksFORTH verändert werden kann.                                                                                           RELOCATE  setzt  R0  und  S0  neu, beachten Sie dazu auch die   Ausführungen im Handbuch.                                                                                                       Mit  BUFFERS  kann man die Anzahl der Diskbuffer verändern.     Standardmäßig ist das System auf &10 Buffer eingestellt. Reicht der Platz im Dictionary bei sehr großen Programmen nicht aus,   kann man hier am ehesten Speicherplatz einsparen.               Umgekehrt erhöht sich der Arbeitskomfort beim Editieren, wenn   möglichst viele Diskbuffer vorhanden sind, um Diskettenzugriffe zu minimieren.                                                                                                                  \ Relocate a system                                    26oct86we                                                                | : relocate-tasks   ( mainup -- )    up@ dup                        BEGIN  2+ under @  2dup - WHILE  rot drop  REPEAT  2drop !      up@ 2+ @  origin 2+ ! ;                                                                                                    : relocate   ( stacklen rstacklen -- )                             2dup +   limit origin -   b/buf -   2-                              u> abort" kills all buffers"                                over  pad $100 +  origin - u< abort" cuts the dictionary"       dup  udp @ $40 +                                                    u< abort" kills returnstack"                                flush  empty  over +  origin +  origin &12 + !    \ r0          origin +  dup  relocate-tasks                 \ multitasking    6 -  origin &10 + !                               \ s0          cold ;                                          -->          \ bytes.more  buffers                                  15sep86we                                                                | : bytes.more   ( n+-  -- )                                         up@  origin -  +  r0 @ up@ -  relocate ;                                                                                   : buffers      ( +n   -- )                                          b/buf *  4+  limit  r0 @ -  swap  -  bytes.more ;